<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
<html><head><meta http-equiv="Content-Type" content="text/html;charset=UTF-8">
<title>L2LB: list.h Source File</title>
<link href="doxygen.css" rel="stylesheet" type="text/css">
<link href="tabs.css" rel="stylesheet" type="text/css">
</head><body>
<!-- Gerado por Doxygen 1.5.6 -->
<div class="navigation" id="top">
  <div class="tabs">
    <ul>
      <li><a href="index.html"><span>Página&nbsp;principal</span></a></li>
      <li><a href="annotated.html"><span>Estruturas&nbsp;de&nbsp;dados</span></a></li>
      <li class="current"><a href="files.html"><span>Ficheiros</span></a></li>
    </ul>
  </div>
<h1>list.h</h1><a href="list_8h.html">Ir para a documentação deste ficheiro.</a><div class="fragment"><pre class="fragment"><a name="l00001"></a>00001 <span class="preprocessor">#ifndef __LIST_H</span>
<a name="l00002"></a>00002 <span class="preprocessor"></span><span class="preprocessor">#define __LIST_H</span>
<a name="l00003"></a>00003 <span class="preprocessor"></span>
<a name="l00004"></a>00004 <span class="comment">/* This file is from Linux Kernel (include/linux/list.h) </span>
<a name="l00005"></a>00005 <span class="comment"> * and modified by simply removing hardware prefetching of list items. </span>
<a name="l00006"></a>00006 <span class="comment"> * Here by copyright, credits attributed to where ever they belong.</span>
<a name="l00007"></a>00007 <span class="comment"> * Direct comments, concerns, questions, bugs to:</span>
<a name="l00008"></a>00008 <span class="comment"> * kulesh [squggily] isis.poly.edu</span>
<a name="l00009"></a>00009 <span class="comment"> */</span>
<a name="l00010"></a>00010 
<a name="l00011"></a>00011 <span class="comment">/*</span>
<a name="l00012"></a>00012 <span class="comment"> * Simple doubly linked list implementation.</span>
<a name="l00013"></a>00013 <span class="comment"> *</span>
<a name="l00014"></a>00014 <span class="comment"> * Some of the internal functions ("__xxx") are useful when</span>
<a name="l00015"></a>00015 <span class="comment"> * manipulating whole lists rather than single entries, as</span>
<a name="l00016"></a>00016 <span class="comment"> * sometimes we already know the next/prev entries and we can</span>
<a name="l00017"></a>00017 <span class="comment"> * generate better code by using them directly rather than</span>
<a name="l00018"></a>00018 <span class="comment"> * using the generic single-entry routines.</span>
<a name="l00019"></a>00019 <span class="comment"> */</span>
<a name="l00020"></a>00020 
<a name="l00021"></a><a class="code" href="structlist__head.html">00021</a> <span class="keyword">struct </span><a class="code" href="structlist__head.html">list_head</a> {
<a name="l00022"></a><a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">00022</a>         <span class="keyword">struct </span><a class="code" href="structlist__head.html">list_head</a> *<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>, *<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>;
<a name="l00023"></a>00023 };
<a name="l00024"></a>00024 
<a name="l00025"></a><a class="code" href="list_8h.html#4642d4b7df28478bb762fe43c85b5c63">00025</a> <span class="preprocessor">#define LIST_HEAD_INIT(name) { &amp;(name), &amp;(name) }</span>
<a name="l00026"></a>00026 <span class="preprocessor"></span>
<a name="l00027"></a><a class="code" href="list_8h.html#42f0e72af970a790b60a740af8c9ecd0">00027</a> <span class="preprocessor">#define LIST_HEAD(name) \</span>
<a name="l00028"></a>00028 <span class="preprocessor">        struct list_head name = LIST_HEAD_INIT(name)</span>
<a name="l00029"></a>00029 <span class="preprocessor"></span>
<a name="l00030"></a><a class="code" href="list_8h.html#0ffe9d28c36d7b018a9cfae33bae45c0">00030</a> <span class="preprocessor">#define INIT_LIST_HEAD(ptr) do { \</span>
<a name="l00031"></a>00031 <span class="preprocessor">        (ptr)-&gt;next = (ptr); (ptr)-&gt;prev = (ptr); \</span>
<a name="l00032"></a>00032 <span class="preprocessor">} while (0)</span>
<a name="l00033"></a>00033 <span class="preprocessor"></span>
<a name="l00034"></a>00034 <span class="comment">/*</span>
<a name="l00035"></a>00035 <span class="comment"> * Insert a new entry between two known consecutive entries. </span>
<a name="l00036"></a>00036 <span class="comment"> *</span>
<a name="l00037"></a>00037 <span class="comment"> * This is only for internal list manipulation where we know</span>
<a name="l00038"></a>00038 <span class="comment"> * the prev/next entries already!</span>
<a name="l00039"></a>00039 <span class="comment"> */</span>
<a name="l00040"></a><a class="code" href="list_8h.html#8a28f150a191624bf6923a48cdace7e3">00040</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#8a28f150a191624bf6923a48cdace7e3">__list_add</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *<span class="keyword">new</span>,
<a name="l00041"></a>00041                               <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>, <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>)
<a name="l00042"></a>00042 {
<a name="l00043"></a>00043         next-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a> = <span class="keyword">new</span>;
<a name="l00044"></a>00044         <span class="keyword">new</span>-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a> = next;
<a name="l00045"></a>00045         <span class="keyword">new</span>-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a> = prev;
<a name="l00046"></a>00046         prev-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a> = <span class="keyword">new</span>;
<a name="l00047"></a>00047 }
<a name="l00048"></a>00048 
<a name="l00057"></a><a class="code" href="list_8h.html#0373c4b3c8ce51a451a569ad978b32e1">00057</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#0373c4b3c8ce51a451a569ad978b32e1" title="list_add - add a new entry : new entry to be added : list head to add it after">list_add</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *<span class="keyword">new</span>, <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *head)
<a name="l00058"></a>00058 {
<a name="l00059"></a>00059         <a class="code" href="list_8h.html#8a28f150a191624bf6923a48cdace7e3">__list_add</a>(<span class="keyword">new</span>, head, head-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>);
<a name="l00060"></a>00060 }
<a name="l00061"></a>00061 
<a name="l00070"></a><a class="code" href="list_8h.html#588bec046f1e9797b33a5c5ab250f447">00070</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#588bec046f1e9797b33a5c5ab250f447" title="list_add_tail - add a new entry : new entry to be added : list head to add it before...">list_add_tail</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *<span class="keyword">new</span>, <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *head)
<a name="l00071"></a>00071 {
<a name="l00072"></a>00072         <a class="code" href="list_8h.html#8a28f150a191624bf6923a48cdace7e3">__list_add</a>(<span class="keyword">new</span>, head-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>, head);
<a name="l00073"></a>00073 }
<a name="l00074"></a>00074 
<a name="l00075"></a>00075 <span class="comment">/*</span>
<a name="l00076"></a>00076 <span class="comment"> * Delete a list entry by making the prev/next entries</span>
<a name="l00077"></a>00077 <span class="comment"> * point to each other.</span>
<a name="l00078"></a>00078 <span class="comment"> *</span>
<a name="l00079"></a>00079 <span class="comment"> * This is only for internal list manipulation where we know</span>
<a name="l00080"></a>00080 <span class="comment"> * the prev/next entries already!</span>
<a name="l00081"></a>00081 <span class="comment"> */</span>
<a name="l00082"></a><a class="code" href="list_8h.html#24b474717d65a296695e8b79b4adefda">00082</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#24b474717d65a296695e8b79b4adefda">__list_del</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>, <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>)
<a name="l00083"></a>00083 {
<a name="l00084"></a>00084         next-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a> = prev;
<a name="l00085"></a>00085         prev-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a> = next;
<a name="l00086"></a>00086 }
<a name="l00087"></a>00087 
<a name="l00093"></a><a class="code" href="list_8h.html#b1708206f0f7e0a56550b35372203ba5">00093</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#b1708206f0f7e0a56550b35372203ba5" title="list_del - deletes entry from list.">list_del</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *entry)
<a name="l00094"></a>00094 {
<a name="l00095"></a>00095         <a class="code" href="list_8h.html#24b474717d65a296695e8b79b4adefda">__list_del</a>(entry-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>, entry-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>);
<a name="l00096"></a>00096         entry-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a> = (<span class="keywordtype">void</span> *)0;
<a name="l00097"></a>00097         entry-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a> = (<span class="keywordtype">void</span> *)0;
<a name="l00098"></a>00098 }
<a name="l00099"></a>00099 
<a name="l00104"></a><a class="code" href="list_8h.html#e1cde0f50b85945cfff23be4fc1586f4">00104</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#e1cde0f50b85945cfff23be4fc1586f4" title="list_del_init - deletes entry from list and reinitialize it.">list_del_init</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *entry)
<a name="l00105"></a>00105 {
<a name="l00106"></a>00106         <a class="code" href="list_8h.html#24b474717d65a296695e8b79b4adefda">__list_del</a>(entry-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>, entry-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>);
<a name="l00107"></a>00107         <a class="code" href="list_8h.html#0ffe9d28c36d7b018a9cfae33bae45c0">INIT_LIST_HEAD</a>(entry);
<a name="l00108"></a>00108 }
<a name="l00109"></a>00109 
<a name="l00115"></a><a class="code" href="list_8h.html#ee8df43e41969c2272acfd6ed6e75d4c">00115</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#ee8df43e41969c2272acfd6ed6e75d4c" title="list_move - delete from one list and add as another&amp;#39;s head : the entry to move...">list_move</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *list, <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *head)
<a name="l00116"></a>00116 {
<a name="l00117"></a>00117         <a class="code" href="list_8h.html#24b474717d65a296695e8b79b4adefda">__list_del</a>(list-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>, list-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>);
<a name="l00118"></a>00118         <a class="code" href="list_8h.html#0373c4b3c8ce51a451a569ad978b32e1" title="list_add - add a new entry : new entry to be added : list head to add it after">list_add</a>(list, head);
<a name="l00119"></a>00119 }
<a name="l00120"></a>00120 
<a name="l00126"></a><a class="code" href="list_8h.html#1c5ac6a6b04a03f5782e818daacf96e9">00126</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#1c5ac6a6b04a03f5782e818daacf96e9" title="list_move_tail - delete from one list and add as another&amp;#39;s tail : the entry to...">list_move_tail</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *list,
<a name="l00127"></a>00127                                   <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *head)
<a name="l00128"></a>00128 {
<a name="l00129"></a>00129         <a class="code" href="list_8h.html#24b474717d65a296695e8b79b4adefda">__list_del</a>(list-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>, list-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>);
<a name="l00130"></a>00130         <a class="code" href="list_8h.html#588bec046f1e9797b33a5c5ab250f447" title="list_add_tail - add a new entry : new entry to be added : list head to add it before...">list_add_tail</a>(list, head);
<a name="l00131"></a>00131 }
<a name="l00132"></a>00132 
<a name="l00137"></a><a class="code" href="list_8h.html#0fce12be81e8f2677b3a272fee1652ac">00137</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">int</span> <a class="code" href="list_8h.html#0fce12be81e8f2677b3a272fee1652ac" title="list_empty - tests whether a list is empty : the list to test.">list_empty</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *head)
<a name="l00138"></a>00138 {
<a name="l00139"></a>00139         <span class="keywordflow">return</span> head-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a> == head;
<a name="l00140"></a>00140 }
<a name="l00141"></a>00141 
<a name="l00142"></a><a class="code" href="list_8h.html#25979c80a2d71dd02ada121a46c71a59">00142</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#25979c80a2d71dd02ada121a46c71a59">__list_splice</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *list, <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *head)
<a name="l00143"></a>00143 {
<a name="l00144"></a>00144         <span class="keyword">struct </span><a class="code" href="structlist__head.html">list_head</a> *first = list-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>;
<a name="l00145"></a>00145         <span class="keyword">struct </span><a class="code" href="structlist__head.html">list_head</a> *last = list-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a>;
<a name="l00146"></a>00146         <span class="keyword">struct </span><a class="code" href="structlist__head.html">list_head</a> *at = head-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a>;
<a name="l00147"></a>00147 
<a name="l00148"></a>00148         first-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a> = head;
<a name="l00149"></a>00149         head-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a> = first;
<a name="l00150"></a>00150 
<a name="l00151"></a>00151         last-&gt;<a class="code" href="structlist__head.html#c3b0ff0dfb978a0cfbdad6b9d19cdcfe">next</a> = at;
<a name="l00152"></a>00152         at-&gt;<a class="code" href="structlist__head.html#aa0eabda8877e1d6de73a33f223ad004">prev</a> = last;
<a name="l00153"></a>00153 }
<a name="l00154"></a>00154 
<a name="l00160"></a><a class="code" href="list_8h.html#2c4399cfbde5e5d5eddf2e13c97bd5d5">00160</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#2c4399cfbde5e5d5eddf2e13c97bd5d5" title="list_splice - join two lists : the new list to add.">list_splice</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *list, <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *head)
<a name="l00161"></a>00161 {
<a name="l00162"></a>00162         <span class="keywordflow">if</span> (!<a class="code" href="list_8h.html#0fce12be81e8f2677b3a272fee1652ac" title="list_empty - tests whether a list is empty : the list to test.">list_empty</a>(list))
<a name="l00163"></a>00163                 <a class="code" href="list_8h.html#25979c80a2d71dd02ada121a46c71a59">__list_splice</a>(list, head);
<a name="l00164"></a>00164 }
<a name="l00165"></a>00165 
<a name="l00173"></a><a class="code" href="list_8h.html#948b15519bb72e3d42f3e56975580d30">00173</a> <span class="keyword">static</span> <span class="keyword">inline</span> <span class="keywordtype">void</span> <a class="code" href="list_8h.html#948b15519bb72e3d42f3e56975580d30" title="list_splice_init - join two lists and reinitialise the emptied list.">list_splice_init</a>(<span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *list,
<a name="l00174"></a>00174                                     <span class="keyword">struct</span> <a class="code" href="structlist__head.html">list_head</a> *head)
<a name="l00175"></a>00175 {
<a name="l00176"></a>00176         <span class="keywordflow">if</span> (!<a class="code" href="list_8h.html#0fce12be81e8f2677b3a272fee1652ac" title="list_empty - tests whether a list is empty : the list to test.">list_empty</a>(list)) {
<a name="l00177"></a>00177                 <a class="code" href="list_8h.html#25979c80a2d71dd02ada121a46c71a59">__list_splice</a>(list, head);
<a name="l00178"></a>00178                 <a class="code" href="list_8h.html#0ffe9d28c36d7b018a9cfae33bae45c0">INIT_LIST_HEAD</a>(list);
<a name="l00179"></a>00179         }
<a name="l00180"></a>00180 }
<a name="l00181"></a>00181 
<a name="l00188"></a><a class="code" href="list_8h.html#26c976b7f654e70df318c1843e5094de">00188</a> <span class="preprocessor">#define list_entry(ptr, type, member) \</span>
<a name="l00189"></a>00189 <span class="preprocessor">        ((type *)((char *)(ptr)-(unsigned long)(&amp;((type *)0)-&gt;member)))</span>
<a name="l00190"></a>00190 <span class="preprocessor"></span>
<a name="l00196"></a><a class="code" href="list_8h.html#b8b24e6660ab3760c923e4b4db3fa502">00196</a> <span class="preprocessor">#define list_for_each(pos, head) \</span>
<a name="l00197"></a>00197 <span class="preprocessor">        for (pos = (head)-&gt;next; pos != (head); \</span>
<a name="l00198"></a>00198 <span class="preprocessor">                pos = pos-&gt;next)</span>
<a name="l00199"></a>00199 <span class="preprocessor"></span>
<a name="l00204"></a><a class="code" href="list_8h.html#19fc06b83f3502a83ce566b8887e6aec">00204</a> <span class="preprocessor">#define list_for_each_prev(pos, head) \</span>
<a name="l00205"></a>00205 <span class="preprocessor">        for (pos = (head)-&gt;prev; pos != (head); \</span>
<a name="l00206"></a>00206 <span class="preprocessor">                pos = pos-&gt;prev)</span>
<a name="l00207"></a>00207 <span class="preprocessor"></span>
<a name="l00214"></a><a class="code" href="list_8h.html#9e4b9328744994b9d3878f5dad75c09f">00214</a> <span class="preprocessor">#define list_for_each_safe(pos, n, head) \</span>
<a name="l00215"></a>00215 <span class="preprocessor">        for (pos = (head)-&gt;next, n = pos-&gt;next; pos != (head); \</span>
<a name="l00216"></a>00216 <span class="preprocessor">                pos = n, n = pos-&gt;next)</span>
<a name="l00217"></a>00217 <span class="preprocessor"></span>
<a name="l00224"></a><a class="code" href="list_8h.html#9b782fefb5ab71ce9762182e45a615e1">00224</a> <span class="preprocessor">#define list_for_each_entry(pos, head, member)                          \</span>
<a name="l00225"></a>00225 <span class="preprocessor">        for (pos = list_entry((head)-&gt;next, typeof(*pos), member);      \</span>
<a name="l00226"></a>00226 <span class="preprocessor">             &amp;pos-&gt;member != (head);                                    \</span>
<a name="l00227"></a>00227 <span class="preprocessor">             pos = list_entry(pos-&gt;member.next, typeof(*pos), member))</span>
<a name="l00228"></a>00228 <span class="preprocessor"></span>
<a name="l00236"></a><a class="code" href="list_8h.html#c3f72d6bd5144c7970824813810d2da1">00236</a> <span class="preprocessor">#define list_for_each_entry_safe(pos, n, head, member)                  \</span>
<a name="l00237"></a>00237 <span class="preprocessor">        for (pos = list_entry((head)-&gt;next, typeof(*pos), member),      \</span>
<a name="l00238"></a>00238 <span class="preprocessor">                n = list_entry(pos-&gt;member.next, typeof(*pos), member); \</span>
<a name="l00239"></a>00239 <span class="preprocessor">             &amp;pos-&gt;member != (head);                                    \</span>
<a name="l00240"></a>00240 <span class="preprocessor">             pos = n, n = list_entry(n-&gt;member.next, typeof(*n), member))</span>
<a name="l00241"></a>00241 <span class="preprocessor"></span>
<a name="l00242"></a>00242 <span class="preprocessor">#endif</span>
</pre></div></div>
<hr size="1"><address style="text-align: right;"><small>Gerado em Wed Sep 10 22:06:25 2008 para L2LB por&nbsp;
<a href="http://www.doxygen.org/index.html">
<img src="doxygen.png" alt="doxygen" align="middle" border="0"></a> 1.5.6 </small></address>
</body>
</html>
